API Documentation
DxDefinesWrapper.h
1 // DxDefinesWrapper.h
3 //
5 
6 namespace nkGraphics
7 {
8  // DXGI_FORMAT
12  enum FORMAT
13  {
14  UNKNOWN_FORMAT = 0,
15  R32G32B32A32_TYPELESS = 1,
16  R32G32B32A32_FLOAT = 2,
17  R32G32B32A32_UINT = 3,
18  R32G32B32A32_SINT = 4,
19  R32G32B32_TYPELESS = 5,
20  R32G32B32_FLOAT = 6,
21  R32G32B32_UINT = 7,
22  R32G32B32_SINT = 8,
23  R16G16B16A16_TYPELESS = 9,
24  R16G16B16A16_FLOAT = 10,
25  R16G16B16A16_UNORM = 11,
26  R16G16B16A16_UINT = 12,
27  R16G16B16A16_SNORM = 13,
28  R16G16B16A16_SINT = 14,
29  R32G32_TYPELESS = 15,
30  R32G32_FLOAT = 16,
31  R32G32_UINT = 17,
32  R32G32_SINT = 18,
33  R32G8X24_TYPELESS = 19,
34  D32_FLOAT_S8X24_UINT = 20,
35  R32_FLOAT_X8X24_TYPELESS = 21,
36  X32_TYPELESS_G8X24_UINT = 22,
37  R10G10B10A2_TYPELESS = 23,
38  R10G10B10A2_UNORM = 24,
39  R10G10B10A2_UINT = 25,
40  R11G11B10_FLOAT = 26,
41  R8G8B8A8_TYPELESS = 27,
42  R8G8B8A8_UNORM = 28,
43  R8G8B8A8_UNORM_SRGB = 29,
44  R8G8B8A8_UINT = 30,
45  R8G8B8A8_SNORM = 31,
46  R8G8B8A8_SINT = 32,
47  R16G16_TYPELESS = 33,
48  R16G16_FLOAT = 34,
49  R16G16_UNORM = 35,
50  R16G16_UINT = 36,
51  R16G16_SNORM = 37,
52  R16G16_SINT = 38,
53  R32_TYPELESS = 39,
54  D32_FLOAT = 40,
55  R32_FLOAT = 41,
56  R32_UINT = 42,
57  R32_SINT = 43,
58  R24G8_TYPELESS = 44,
59  D24_UNORM_S8_UINT = 45,
60  R24_UNORM_X8_TYPELESS = 46,
61  X24_TYPELESS_G8_UINT = 47,
62  R8G8_TYPELESS = 48,
63  R8G8_UNORM = 49,
64  R8G8_UINT = 50,
65  R8G8_SNORM = 51,
66  R8G8_SINT = 52,
67  R16_TYPELESS = 53,
68  R16_FLOAT = 54,
69  D16_UNORM = 55,
70  R16_UNORM = 56,
71  R16_UINT = 57,
72  R16_SNORM = 58,
73  R16_SINT = 59,
74  R8_TYPELESS = 60,
75  R8_UNORM = 61,
76  R8_UINT = 62,
77  R8_SNORM = 63,
78  R8_SINT = 64,
79  A8_UNORM = 65,
80  R1_UNORM = 66,
81  R9G9B9E5_SHAREDEXP = 67,
82  R8G8_B8G8_UNORM = 68,
83  G8R8_G8B8_UNORM = 69,
84  BC1_TYPELESS = 70,
85  BC1_UNORM = 71,
86  BC1_UNORM_SRGB = 72,
87  BC2_TYPELESS = 73,
88  BC2_UNORM = 74,
89  BC2_UNORM_SRGB = 75,
90  BC3_TYPELESS = 76,
91  BC3_UNORM = 77,
92  BC3_UNORM_SRGB = 78,
93  BC4_TYPELESS = 79,
94  BC4_UNORM = 80,
95  BC4_SNORM = 81,
96  BC5_TYPELESS = 82,
97  BC5_UNORM = 83,
98  BC5_SNORM = 84,
99  B5G6R5_UNORM = 85,
100  B5G5R5A1_UNORM = 86,
101  B8G8R8A8_UNORM = 87,
102  B8G8R8X8_UNORM = 88,
103  FORCE_UINT = 0xffffffffUL
104  } ;
105 
106  // D3D11_MAP
110  enum MAP
111  {
112  MAP_READ = 1,
113  MAP_WRITE = 2,
114  MAP_READ_WRITE = 3,
115  MAP_WRITE_DISCARD = 4,
116  MAP_WRITE_NO_OVERWRITE = 5
117  } ;
118 
119  // D3D11_DEPTH_WRITE_MASK
124  {
127  } ;
128 
129  // D3D11_STENCIL_OP
134  {
135  STENCIL_OP_KEEP = 1,
136  STENCIL_OP_ZERO = 2,
137  STENCIL_OP_REPLACE = 3,
138  STENCIL_OP_INCR_SAT = 4,
139  STENCIL_OP_DECR_SAT = 5,
140  STENCIL_OP_INVERT = 6,
141  STENCIL_OP_INCR = 7,
142  STENCIL_OP_DECR = 8
143  } ;
144 
145  // D3D11_DSV_FLAG
149  enum DSV_FLAG
150  {
151  DSV_READ_ONLY_DEPTH = 0x1L,
152  DSV_READ_ONLY_STENCIL = 0x2L
153  } ;
154 
155  // D3D11_DSV_DIMENSION
160  {
161  DSV_DIMENSION_UNKNOWN = 0,
162  DSV_DIMENSION_TEXTURE1D = 1,
163  DSV_DIMENSION_TEXTURE1DARRAY = 2,
164  DSV_DIMENSION_TEXTURE2D = 3,
165  DSV_DIMENSION_TEXTURE2DARRAY = 4,
166  DSV_DIMENSION_TEXTURE2DMS = 5,
167  DSV_DIMENSION_TEXTURE2DMSARRAY = 6
168  } ;
169 
170  // D3D11_RTV_DIMENSION
175  {
176  RTV_DIMENSION_UNKNOWN = 0,
177  RTV_DIMENSION_BUFFER = 1,
178  RTV_DIMENSION_TEXTURE1D = 2,
179  RTV_DIMENSION_TEXTURE1DARRAY = 3,
180  RTV_DIMENSION_TEXTURE2D = 4,
181  RTV_DIMENSION_TEXTURE2DARRAY = 5,
182  RTV_DIMENSION_TEXTURE2DMS = 6,
183  RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
184  RTV_DIMENSION_TEXTURE3D = 8
185  } ;
186 
187  // D3D11_SRV_DIMENSION
192  {
193  SRV_DIMENSION_UNKNOWN = 0,
194  SRV_DIMENSION_BUFFER = 1,
195  SRV_DIMENSION_TEXTURE1D = 2,
196  SRV_DIMENSION_TEXTURE1DARRAY = 3,
197  SRV_DIMENSION_TEXTURE2D = 4,
198  SRV_DIMENSION_TEXTURE2DARRAY = 5,
199  SRV_DIMENSION_TEXTURE2DMS = 6,
200  SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
201  SRV_DIMENSION_TEXTURE3D = 8,
202  SRV_DIMENSION_TEXTURECUBE = 9,
203  SRV_DIMENSION_TEXTURECUBEARRAY = 10,
204  SRV_DIMENSION_BUFFEREX = 11
205  } ;
206 
207  // D3D11_UAV_DIMENSION
212  {
213  UAV_DIMENSION_UNKNOWN = 0,
214  UAV_DIMENSION_BUFFER = 1,
215  UAV_DIMENSION_TEXTURE1D = 2,
216  UAV_DIMENSION_TEXTURE1DARRAY = 3,
217  UAV_DIMENSION_TEXTURE2D = 4,
218  UAV_DIMENSION_TEXTURE2DARRAY = 5,
219  UAV_DIMENSION_TEXTURE3D = 8
220  } ;
221 
222  // D3D11_BUFFEREX_SRV_FLAG
227  {
228  BUFFEREX_SRV_FLAG_RAW = 0x1
229  } ;
230 
231  // D3D11_BUFFER_UAV_FLAG
236  {
237  BUFFER_UAV_FLAG_RAW = 0x1,
238  BUFFER_UAV_FLAG_APPEND = 0x2,
239  BUFFER_UAV_FLAG_COUNTER = 0x4
240  } ;
241 
242  // D3D11_BLEND
246  enum BLEND
247  {
248  BLEND_ZERO = 1,
249  BLEND_ONE = 2,
250  BLEND_SRC_COLOR = 3,
251  BLEND_INV_SRC_COLOR = 4,
252  BLEND_SRC_ALPHA = 5,
253  BLEND_INV_SRC_ALPHA = 6,
254  BLEND_DEST_ALPHA = 7,
255  BLEND_INV_DEST_ALPHA = 8,
256  BLEND_DEST_COLOR = 9,
257  BLEND_INV_DEST_COLOR = 10,
258  BLEND_SRC_ALPHA_SAT = 11,
259  BLEND_BLEND_FACTOR = 14,
260  BLEND_INV_BLEND_FACTOR = 15,
261  BLEND_SRC1_COLOR = 16,
262  BLEND_INV_SRC1_COLOR = 17,
263  BLEND_SRC1_ALPHA = 18,
264  BLEND_INV_SRC1_ALPHA = 19
265  } ;
266 
267  // D3D11_BLEND_OP
271  enum BLEND_OP
272  {
273  BLEND_OP_ADD = 1,
274  BLEND_OP_SUBTRACT = 2,
275  BLEND_OP_REV_SUBTRACT = 3,
276  BLEND_OP_MIN = 4,
277  BLEND_OP_MAX = 5
278  } ;
279 
280  // D3D11_COLOR_WRITE_ENABLE
285  {
286  COLOR_WRITE_ENABLE_RED = 1,
287  COLOR_WRITE_ENABLE_GREEN = 2,
288  COLOR_WRITE_ENABLE_BLUE = 4,
289  COLOR_WRITE_ENABLE_ALPHA = 8,
290  COLOR_WRITE_ENABLE_ALL = (((COLOR_WRITE_ENABLE_RED | COLOR_WRITE_ENABLE_GREEN) | COLOR_WRITE_ENABLE_BLUE) | COLOR_WRITE_ENABLE_ALPHA)
291  } ;
292 
293  // D3D11_FILL_MODE
298  {
299  FILL_WIREFRAME = 2,
300  FILL_SOLID = 3
301  } ;
302 
303  // D3D11_CULL_MODE
308  {
309  CULL_NONE = 1,
310  CULL_FRONT = 2,
311  CULL_BACK = 3
312  } ;
313 
314  // Custom enum : type de shader concerne
319  {
320  VERTEX_SHADER = 0,
321  HULL_SHADER,
322  DOMAIN_SHADER,
323  GEOMETRY_SHADER,
324  PIXEL_SHADER,
325  COMPUTE_SHADER,
326  RAYTRACING_SHADER,
327  UNKNOWN_SHADER
328  } ;
329 
330  // Custom enum : les semantiques
335  {
336  // Per vertex
337  POSITION_0 = 0,
338  POSITION_1,
339  POSITION_2,
340  POSITION_3,
341  POSITION_4,
342  NORMAL_0 = POSITION_0 + 8,
343  NORMAL_1,
344  NORMAL_2,
345  NORMAL_3,
346  NORMAL_4,
347  UV_0 = NORMAL_0 + 8,
348  UV_1,
349  UV_2,
350  UV_3,
351  UV_4,
352  COLOR_0 = UV_0 + 8,
353  COLOR_1,
354  COLOR_2,
355  COLOR_3,
356  COLOR_4,
357  TANGENT_0 = COLOR_0 + 8,
358  TANGENT_1,
359  TANGENT_2,
360  TANGENT_3,
361  TANGENT_4,
362  BINORMAL_0 = TANGENT_0 + 8,
363  BINORMAL_1,
364  BINORMAL_2,
365  BINORMAL_3,
366  BINORMAL_4,
367  // Vertex data
368  SV_VERTEX_ID = BINORMAL_0 + 8,
369  // Instance
370  WORLDMAT_0 = SV_VERTEX_ID + 1,
371  WORLDMAT_1,
372  WORLDMAT_2,
373  WORLDMAT_3,
374  WORLDMAT_4,
375  // Offset pour les output semantics
376  OUTPUT_SEMANTIC_OFFSET = WORLDMAT_0 + 16,
377  // Maximum bound
378  MAXIMUM_SEMANTIC_INDEX = OUTPUT_SEMANTIC_OFFSET * 2
379  } ;
380 
385  {
386  // Constant buffer
387  CONSTANT_BUFFER_0 = 0,
388  CONSTANT_BUFFER_1,
389  CONSTANT_BUFFER_2,
390  CONSTANT_BUFFER_3,
391  CONSTANT_BUFFER_4,
392  CONSTANT_BUFFER_5,
393  CONSTANT_BUFFER_6,
394  CONSTANT_BUFFER_7,
395  CONSTANT_BUFFER_8,
396  CONSTANT_BUFFER_9,
397  CONSTANT_BUFFER_10,
398  CONSTANT_BUFFER_11,
399  CONSTANT_BUFFER_12,
400  CONSTANT_BUFFER_13,
401  CONSTANT_BUFFER_14,
402  CONSTANT_BUFFER_15,
403  CONSTANT_BUFFER_16,
404  CONSTANT_BUFFER_17,
405  CONSTANT_BUFFER_18,
406  // Shader resource
407  SHADER_RESOURCE_0,
408  SHADER_RESOURCE_1,
409  SHADER_RESOURCE_2,
410  SHADER_RESOURCE_3,
411  SHADER_RESOURCE_4,
412  SHADER_RESOURCE_5,
413  SHADER_RESOURCE_6,
414  SHADER_RESOURCE_7,
415  SHADER_RESOURCE_8,
416  SHADER_RESOURCE_9,
417  SHADER_RESOURCE_10,
418  SHADER_RESOURCE_11,
419  SHADER_RESOURCE_12,
420  SHADER_RESOURCE_13,
421  SHADER_RESOURCE_14,
422  SHADER_RESOURCE_15,
423  SHADER_RESOURCE_16,
424  SHADER_RESOURCE_17,
425  SHADER_RESOURCE_18,
426  // UAV
427  UAV_RESOURCE_0,
428  UAV_RESOURCE_1,
429  UAV_RESOURCE_2,
430  UAV_RESOURCE_3,
431  UAV_RESOURCE_4,
432  UAV_RESOURCE_5,
433  UAV_RESOURCE_6,
434  UAV_RESOURCE_7,
435  UAV_RESOURCE_8,
436  UAV_RESOURCE_9,
437  UAV_RESOURCE_10,
438  UAV_RESOURCE_11,
439  UAV_RESOURCE_12,
440  UAV_RESOURCE_13,
441  UAV_RESOURCE_14,
442  UAV_RESOURCE_15,
443  UAV_RESOURCE_16,
444  UAV_RESOURCE_17,
445  UAV_RESOURCE_18,
446  // Sampler
447  SAMPLER_0,
448  SAMPLER_1,
449  SAMPLER_2,
450  SAMPLER_3,
451  SAMPLER_4,
452  SAMPLER_5,
453  SAMPLER_6
454  } ;
455 
460  {
461  PROFILE_UNKNOWN = 0,
462  PROFILE_SM_5_0,
463  PROFILE_SM_5_1,
464  PROFILE_SM_6_0
465  } ;
466 }
nkGraphics::CULL_MODE
CULL_MODE
Available culling modes.
Definition: DxDefinesWrapper.h:308
nkGraphics::DEPTH_WRITE_MASK_ALL
@ DEPTH_WRITE_MASK_ALL
Turns on depth writes.
Definition: DxDefinesWrapper.h:126
nkGraphics::BLEND_OP
BLEND_OP
Available blending operations.
Definition: DxDefinesWrapper.h:272
nkGraphics::SHADER_TYPE
SHADER_TYPE
Available shader types.
Definition: DxDefinesWrapper.h:319
nkGraphics::BUFFEREX_SRV_FLAG
BUFFEREX_SRV_FLAG
Available buffer ex shader resource views flags.
Definition: DxDefinesWrapper.h:227
nkGraphics::DSV_DIMENSION
DSV_DIMENSION
Available depth and stencil view dimensions.
Definition: DxDefinesWrapper.h:160
nkGraphics::DSV_FLAG
DSV_FLAG
Available depth and stencil view flags.
Definition: DxDefinesWrapper.h:150
nkGraphics::SHADER_RESOURCE_SLOT
SHADER_RESOURCE_SLOT
Available resources slots.
Definition: DxDefinesWrapper.h:385
nkGraphics::DEPTH_WRITE_MASK
DEPTH_WRITE_MASK
Available depth write masks.
Definition: DxDefinesWrapper.h:124
nkGraphics::COLOR_WRITE_ENABLE
COLOR_WRITE_ENABLE
Available color write masks.
Definition: DxDefinesWrapper.h:285
nkGraphics::BLEND
BLEND
Available blending types.
Definition: DxDefinesWrapper.h:247
nkGraphics::MAP
MAP
Available mapping request types.
Definition: DxDefinesWrapper.h:111
nkGraphics::BUFFER_UAV_FLAG
BUFFER_UAV_FLAG
Available unordered access views flags.
Definition: DxDefinesWrapper.h:236
nkGraphics::UAV_DIMENSION
UAV_DIMENSION
Available unordered access views dimensions.
Definition: DxDefinesWrapper.h:212
nkGraphics::DEPTH_WRITE_MASK_ZERO
@ DEPTH_WRITE_MASK_ZERO
Turns off depth writes.
Definition: DxDefinesWrapper.h:125
nkGraphics::SHADER_SEMANTIC
SHADER_SEMANTIC
Available shader semantics.
Definition: DxDefinesWrapper.h:335
nkGraphics::STENCIL_OP
STENCIL_OP
Available stencil operations.
Definition: DxDefinesWrapper.h:134
nkGraphics::FORMAT
FORMAT
Available formats for resources.
Definition: DxDefinesWrapper.h:13
nkGraphics::FILL_MODE
FILL_MODE
Available filling mode during rasterization.
Definition: DxDefinesWrapper.h:298
nkGraphics::PROGRAM_COMPILATION_PROFILE
PROGRAM_COMPILATION_PROFILE
Available program compilation profiles.
Definition: DxDefinesWrapper.h:460
nkGraphics
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
nkGraphics::SRV_DIMENSION
SRV_DIMENSION
Available shader resource views dimensions.
Definition: DxDefinesWrapper.h:192
nkGraphics::RTV_DIMENSION
RTV_DIMENSION
Available render target view dimensions.
Definition: DxDefinesWrapper.h:175